Skip to content

release: v0.3.1: manage package-manager versions with vp env - #2623

Open
voidzero-guard[bot] wants to merge 3 commits into
fix/release-snapshot-registryfrom
release/v0.3.1
Open

release: v0.3.1: manage package-manager versions with vp env#2623
voidzero-guard[bot] wants to merge 3 commits into
fix/release-snapshot-registryfrom
release/v0.3.1

Conversation

@voidzero-guard

@voidzero-guard voidzero-guard Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

vp env now manages Node.js and package-manager versions together. This release also fixes TanStack Start routing and stale Vitest aliases.

Breaking Changes

Vite+ replaces Corepack with managed npm, pnpm, yarn, and bun commands. It removes the corepack shim and legacy global package-manager installations (#2391), by @liangmiQwQ.

Previous setup Replacement
corepack enable vp env setup
vp install -g pnpm@<version> vp env default pnpm@<version>
vp install -g yarn@<version> vp env default yarn@<version>
vp install -g bun@<version> vp env default bun@<version>
vp install -g corepack Use the managed package-manager commands directly

Update Corepack setup commands in shell profiles, CI jobs, and Dockerfiles. Use vp env pin <manager>@<version> for a project version.

Unscoped vp env commands now operate on Node.js and package managers. Add node for Node.js-only operations, such as vp env off node or vp env unpin node. Bare versions, such as vp env default 22.19.0, still select Node.js. Package managers support independent defaults, project pins, session overrides, and installation commands (#2398), by @liangmiQwQ.

Update scripts that read vp env JSON output. current --json now returns node and package_manager objects. list --json and list-remote --json return node and package_managers groups. See the environment guide.

vp pack now uses tsdown 0.23, which removes deprecated options and changes defaults. Run vp migrate to update supported static configurations and package scripts, including existing Vite+ projects (#2614), by @fengmk2.

Previous option Replacement
bundle: false unbundle: true
outExtension outExtensions
publicDir / --public-dir copy / --copy
removeNodeProtocol: true nodeProtocol: 'strip'
injectStyle css.inject
inlineOnly / deps.onlyAllowBundle deps.onlyBundle
noExternal deps.alwaysBundle
skipNodeModulesBundle: true / deps.skipNodeModulesBundle: true deps.neverBundle: true
dts.tsgo: true / dts.oxc: true dts.generator: 'tsgo' / dts.generator: 'oxc'

Dynamic configurations, such as arrays built with .map(), require manual updates. Check these configurations even when migration reports no warning.

Check migration warnings in vite.config.*, tsdown.config.*, and package.json, then run vp pack. Migration preserves the previous dependency-resolution and ATTW defaults. Node.js 25 is no longer supported by tsdown; use ^22.18.0, ^24.11.0, or >=26.0.0. Programmatic build() now returns { bundles, watch }. See the complete migration guide for declaration and TypeScript module-resolution changes.

vp staged, vp config, vp hooks, vp migrate, and vp create now reject unsupported options and extra positional arguments (#2523), by @fengmk2.

Remove unsupported arguments from scripts. For example, replace vp config --hooks-only with vp config --no-agent.

Highlights

  • Fix TanStack Start HTTP 404 responses caused by separate Vite runtime copies (#2617), by @fengmk2.
  • Let vp migrate repair stale vitest aliases that previously prevented the CLI from starting (#2605), by @fengmk2.
  • Add vp check --quiet to hide lint warning diagnostics while retaining errors and summary counts (#2593), by @RSS1102.

Features

  • Add vp sync-versions --json so automation can request dependency alignment plans from manifest snapshots without changing project files (#2600), by @afonsojramos.
  • Make vp create --git suggest an initial commit command after Git initialization (#2581), by @fengmk2.
  • Make vp migrate replace frozen voidzero-dev/setup-vp@v1 workflow references with the supported version pin (#2540), by @fengmk2.
  • Upgrade rolldown from 1.2.5 to 1.2.7, tsdown from 0.22.14 to 0.23.0, and Oxc from 0.146.0 to 0.148.0. Upgrade oxlint from 1.79.0 to 1.81.0 and oxfmt from 0.64.0 to 0.66.0. These versions can flag code that passed before. Run vp fmt after upgrading if CI runs vp check (#2580, #2613), by @voidzero-guard[bot].

Fixes & Enhancements

  • Resolve package-manager versions without rewriting package.json. Use vp env pin or vp env unpin to change project declarations explicitly (#2399), by @liangmiQwQ.
  • Reduce the Windows vp-shim.exe size from 214 KiB to 14 KiB (#2466), by @fengmk2.
  • Keep Vite DevTools within the version ranges supported by the bundled Vite (#2559), by @fengmk2.
  • Keep automatic Vitest upgrades on the supported 4.x major (#2612), by @fengmk2.
  • Remove a deprecated tsdown option from the prompts package build (#2597), by @jong-kyung.

Refactor

  • Use the updated which dependency to resolve relative PATH entries (#2583), by @RSS1102.
  • Remove the unused async-trait annotation from JsRuntimeProvider (#2538), by @jong-kyung.

Docs

  • Add Azure Pipelines setup instructions (#2553), by @naokihaba.
  • Correct Zed Oxc formatter settings and include JSX and TSX (#2592), by @joschuba.
  • Add Wrangler deployment configuration for the documentation site (#2596), by @mdong1909.
  • Explain conflicts between pnpm and Vite+ runtime management, including the runtimeOnFail setting (#2620), by @liangmiQwQ.

Chore

  • Run CLI snapshots without published release packages (#2625), by @fengmk2.
  • Update the release-manager skill with package-install checks, changelog guidance, and announcement handling (#2548), by @fengmk2.
  • Wait for npm dependencies to become available before publishing dependent release packages (#2601), by @fengmk2.
  • Remove old Docker preview images (#2539), by @fengmk2.
  • Stabilize external-tool snapshots and isolate npm network cases (#2577, #2604), by @fengmk2.
  • Avoid unreliable Fish PPA setup in CI (#2560), by @fengmk2.
  • Update the vinext fixture to an upstream fix (#2571), by @jong-kyung.
  • Stabilize the pnpm snapshot and Nuxt build in CI (#2591), by @voidzero-guard[bot].
  • Pin pnpm in project-creation build-approval fixtures (#2616), by @liangmiQwQ.
  • Remove unused documentation components, assets, and the typewriter dependency (#2550, #2562), by @jong-kyung.
  • Remove duplicate tempfile dependencies, an unused runtime helper, and unused error variants. Update the unit_bindings lint name (#2555, #2558, #2566, #2567), by @jong-kyung.
  • Update GitHub Actions dependencies, including actions/setup-node v7 (#2544, #2545, #2582, #2618), by @renovate[bot].
  • Update crate-ci/typos through v1.50.1 (#2584, #2589, #2609), by @renovate[bot].
  • Update repository pnpm to 11.24.0 (#2590), by @renovate[bot].
  • Update voidzero-dev/setup-vp to v1.19.0 (#2619), by @renovate[bot].

Bundled Versions

Tool Version Source
vite 8.2.2 de1111a
rolldown 1.2.7 26b4c6e
tsdown 0.23.0 npm
vitest 4.1.11 npm
oxlint 1.81.0 npm
oxlint-tsgolint 7.0.2001 npm
oxfmt 0.66.0 npm

Upgrade

vp upgrade

New Contributors

@afonsojramos, @joschuba

Full Changelog: v0.3.0...v0.3.1


Merging this PR will trigger the release workflow.

@netlify

netlify Bot commented Sep 7, 2026

Copy link
Copy Markdown

Deploy Preview for viteplus-preview canceled.

Name Link
🔨 Latest commit 8c38fc8
🔍 Latest deploy log https://app.netlify.com/projects/viteplus-preview/deploys/6a9edf66b2e1be00084c0ec9

@fengmk2 fengmk2 changed the title release: v0.3.1 release: v0.3.1: manage package-manager versions with vp env Sep 7, 2026
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 7, 2026

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview URL: https://release-v0-3-1-viteplus-dev.voidzero-docs.workers.dev (commit 8c38fc8)

This URL reflects your latest Preview deployment

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://26dcfb5f-viteplus-dev.voidzero-docs.workers.dev 8c38fc8 2026-09-07T16:01:36.642Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://de4da901-viteplus-dev.voidzero-docs.workers.dev 6d65e17 2026-09-07T14:38:38.338Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://c3be927a-viteplus-dev.voidzero-docs.workers.dev 5ee9859 2026-09-07T14:31:39.983Z Visit the dashboard ↗

@fengmk2 fengmk2 added the preview-build Publish this PR's commits to the registry bridge as preview builds label Sep 7, 2026
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

CLI artifact sizes (8c38fc8)

Final release artifacts built by the canonical build-upstream and build-windows-cli actions.
The dist rows use the Linux build. The core total excludes .node files to match the release artifact.

Artifact Format Base PR Change
packages/cli/dist Directory total 2.14 MiB 2.14 MiB 0 B (0.00%)
packages/core/dist Directory total 3.92 MiB 3.92 MiB 0 B (0.00%)
Combined package dist Directory total 6.06 MiB 6.06 MiB 0 B (0.00%)
vp (Linux x64) Binary 10.99 MiB 10.99 MiB 0 B (0.00%)
vp (Linux x64) gzip -9 4.76 MiB 4.76 MiB +1.30 KiB (+0.03%)
NAPI (Linux x64) Binary 31.93 MiB 31.93 MiB 0 B (0.00%)
NAPI (Linux x64) gzip -9 12.61 MiB 12.61 MiB +1.15 KiB (+0.01%)
vp (macOS ARM64) Binary 8.19 MiB 8.19 MiB 0 B (0.00%)
vp (macOS ARM64) gzip -9 4.15 MiB 4.15 MiB -1.09 KiB (-0.03%)
NAPI (macOS ARM64) Binary 39.55 MiB 39.55 MiB 0 B (0.00%)
NAPI (macOS ARM64) gzip -9 16.93 MiB 16.92 MiB -5.16 KiB (-0.03%)
vp (Windows x64) Binary 8.86 MiB 8.86 MiB 0 B (0.00%)
vp (Windows x64) gzip -9 3.88 MiB 3.88 MiB -424 B (-0.01%)
NAPI (Windows x64) Binary 26.81 MiB 26.81 MiB 0 B (0.00%)
NAPI (Windows x64) gzip -9 10.70 MiB 10.70 MiB -155 B (-0.00%)
Trampoline (Windows x64) Binary 14.00 KiB 14.00 KiB 0 B (0.00%)
Trampoline (Windows x64) gzip -9 7.09 KiB 7.09 KiB -1 B (-0.01%)
Installer (Windows x64) Binary 4.50 MiB 4.50 MiB 0 B (0.00%)
Installer (Windows x64) gzip -9 2.11 MiB 2.11 MiB 0 B (0.00%)

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Registry bridge build (6d65e17)

This commit build is published to the registry bridge, which serves these as ordinary npm versions (every other package proxies to npmjs):

Package Version
vite-plus 0.0.0-commit.6d65e1780791e2b24b27cf7deb63f57a420e78de
@voidzero-dev/vite-plus-core 0.0.0-commit.6d65e1780791e2b24b27cf7deb63f57a420e78de

Install the Vite+ CLI built from this commit, then migrate a project:

# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/voidzero-dev/vite-plus/6d65e1780791e2b24b27cf7deb63f57a420e78de/packages/cli/install.sh | VP_PR_VERSION=2623 bash
# Windows (PowerShell)
$env:VP_PR_VERSION="2623"; irm https://raw.githubusercontent.com/voidzero-dev/vite-plus/6d65e1780791e2b24b27cf7deb63f57a420e78de/packages/cli/install.ps1 | iex

Or download the standalone Windows installer built from this commit:

Architecture Installer
x64 vp-setup-x86_64-pc-windows-msvc.exe
Arm64 vp-setup-aarch64-pc-windows-msvc.exe

GitHub requires you to sign in and downloads each installer as a ZIP artifact. Extract vp-setup.exe, then run it against this preview build:

.\vp-setup.exe --version "0.0.0-commit.6d65e1780791e2b24b27cf7deb63f57a420e78de" --registry "https://registry-bridge.viteplus.dev/"

After installing, upgrade the current project's vite-plus to this test build with:

vp migrate

Or point your package manager at the bridge registry https://registry-bridge.viteplus.dev/:

Package manager Registry config
npm / pnpm / Bun .npmrc: registry=https://registry-bridge.viteplus.dev/
Yarn (v2+) .yarnrc.yml: npmRegistryServer: "https://registry-bridge.viteplus.dev/"

Then pin the build (vite aliases to vite-plus-core; pnpm can use a catalog, npm an overrides entry):

{
  "devDependencies": {
    "vite-plus": "0.0.0-commit.6d65e1780791e2b24b27cf7deb63f57a420e78de",
    "vite": "npm:@voidzero-dev/vite-plus-core@0.0.0-commit.6d65e1780791e2b24b27cf7deb63f57a420e78de"
  }
}

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

🐳 Docker preview image

Built from this PR's registry bridge build:

Image Compressed size
ghcr.io/voidzero-dev/vite-plus:pr-2623 223MB
# remove any stale local copy from a previous run, then pull fresh
docker rmi ghcr.io/voidzero-dev/vite-plus:pr-2623 2>/dev/null; docker pull ghcr.io/voidzero-dev/vite-plus:pr-2623

Quick check:

docker run --rm ghcr.io/voidzero-dev/vite-plus:pr-2623 vp --version

See docs/guide/docker.md for usage.

voidzero-guard Bot and others added 3 commits September 7, 2026 23:59
NAPI bakes the package.json version into binding/index.cjs version
checks. The prepare_release workflow bumps package.json but does not
regenerate this file, so the CI build’s regeneration step produces a
diff that the post-build no-unexpected-changes guard rejects.
…kill

Adds a registry-visibility gate after npm publish. A green Release job only means the registry accepted the request; v0.3.0 shipped with vite-plus on latest depending on a core version that stayed invisible for about 35 minutes, breaking every install and failing the Docker and docs jobs.

Also drops the PR-title opener from the body template, records that Docs covers the published site rather than contributor files, keeps resolution logic out of entries, requires a migration path on breaking changes, and stops posting the Discord draft to the release PR.

(cherry picked from commit 54f70dd)
@fengmk2
fengmk2 changed the base branch from main to fix/release-snapshot-registry September 7, 2026 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

preview-build Publish this PR's commits to the registry bridge as preview builds

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant